package com.linzm.creationaltype.factory01.shapefactory;

import com.linzm.creationaltype.factory01.Shape.Shape;

/**
 * @Author zimingl
 * @Date 2023/4/15 12:29
 * @Description: 图形工厂
 */
public abstract class AbstractShapeFactory {
    /**
     * 使用 getShape 方法获取形状类型的对象
     *
     * @param shapeType shapeType
     * @return Shape
     */
    public abstract Shape getShape(String shapeType);

    /**
     * 获取 Shape 对象
     *
     * @param shapeType shapeType
     * @return Shape
     */
    public abstract Shape getShapeInstance(String shapeType) throws Exception;
}
